package entidades;

import entidades.Processo;
import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

/**
 *
 * @author Marcelo
 */
public class VolumeProcesso implements Serializable
{
    private static final long serialVersionUID = -2686191754681931555L;
    private Integer idprocesso;
    private Integer idvolume;
    private Integer volume;
    private Integer unidadeAtual;
    private Integer setorAtual;
    private String cadastradoPor;
    private Date dataCadastramento;
    private Date dataEntradaSetor;
    private String encaminhadoPor;
    private Processo processo;
    private Set<TramitacaoVolume> tramitacaoVolume = new HashSet<>();
    
    public VolumeProcesso() {}

    public VolumeProcesso(Integer idprocesso, Integer idvolume, Integer volume, Integer unidadeAtual, Integer setorAtual, String cadastradoPor, Date dataCadastramento, Date dataEntradaSetor, String encaminhadoPor, Processo processo, Set<TramitacaoVolume> tramitacaoVolume) 
    {
        this.idprocesso = idprocesso;
        this.idvolume = idvolume;
        this.volume = volume;
        this.unidadeAtual = unidadeAtual;
        this.setorAtual = setorAtual;
        this.cadastradoPor = cadastradoPor;
        this.dataCadastramento = dataCadastramento;
        this.dataEntradaSetor = dataEntradaSetor;
        this.encaminhadoPor = encaminhadoPor;
        this.processo = processo;
        this.tramitacaoVolume = tramitacaoVolume;
    }
    
    public Integer getIdprocesso() {
        return idprocesso;
    }

    public void setIdprocesso(Integer idprocesso) {
        this.idprocesso = idprocesso;
    }

    public Integer getIdvolume() {
        return idvolume;
    }

    public void setIdvolume(Integer idvolume) {
        this.idvolume = idvolume;
    }
    
    public Integer getVolume() {
        return volume;
    }

    public void setVolume(Integer volume) {
        this.volume = volume;
    }

    public Integer getUnidadeAtual() {
        return unidadeAtual;
    }

    public void setUnidadeAtual(Integer unidadeAtual) {
        this.unidadeAtual = unidadeAtual;
    }

    public Integer getSetorAtual() {
        return setorAtual;
    }

    public void setSetorAtual(Integer setorAtual) {
        this.setorAtual = setorAtual;
    }

    public String getCadastradoPor() {
        return cadastradoPor;
    }

    public void setCadastradoPor(String cadastradoPor) {
        this.cadastradoPor = cadastradoPor;
    }

    public Date getDataCadastramento() {
        return dataCadastramento;
    }

    public void setDataCadastramento(Date dataCadastramento) {
        this.dataCadastramento = dataCadastramento;
    }

    public Date getDataEntradaSetor() {
        return dataEntradaSetor;
    }

    public void setDataEntradaSetor(Date dataEntradaSetor) {
        this.dataEntradaSetor = dataEntradaSetor;
    }
    
    public String getEncaminhadoPor() {
        return encaminhadoPor;
    }

    public void setEncaminhadoPor(String encaminhadoPor) {
        this.encaminhadoPor = encaminhadoPor;
    }

    public Processo getProcesso() {
        return processo;
    }

    public void setProcesso(Processo processo) {
        this.processo = processo;
    }

    public Set<TramitacaoVolume> getTramitacaoVolume() {
        return tramitacaoVolume;
    }

    public void setTramitacaoVolume(Set<TramitacaoVolume> tramitacaoVolume) {
        this.tramitacaoVolume = tramitacaoVolume;
    }
    
    // Não utilizar equals() e hashCode()...
    // Causa erro de stackoverflow ao cadastrar o processo.
}